package net.caidingke.shepherd.utils.constant;

import com.google.common.collect.Maps;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Generated;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.RequiredArgsConstructor;
import lombok.Setter;
import lombok.Singular;
import lombok.SneakyThrows;
import lombok.ToString;
import lombok.Value;
import lombok.experimental.Accessors;
import lombok.experimental.Delegate;
import lombok.experimental.Wither;
import lombok.val;

import java.util.List;
import java.util.Map;

/**
 * @author bowen
 */
//@Value
    @Data
//@Data(staticConstructor = "of")
@ToString(exclude = {"title"})
@EqualsAndHashCode(of = {"name"})
@Accessors(chain = true)
public class Lombok {
    @Getter
    private String communityId;
    private String name;
    private String title;

    private int type;


    @Delegate
    private Map<String, String> map;

    public Lombok(String name) {
        this.name = name;
    }

    public static void main(String[] args) {
//        Lombok lombok = Lombok.builder()
//                .communityId("2")
//                .name("a")
//                .title("c")
//                .type(2)
//                .build();

        val map = Maps.<String, Map<String, List<Lombok>>>newHashMap();
        for (val entry : map.entrySet()) {
            //.....
        }

    }

    @Generated
    private void tt() {
        System.out.println();
    }
}
